#include "Header.h"

#define LED_ALL (LED_R | LED_G | LED_B)

void LED_Init(void)
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
    
    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Pin = LED_ALL;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &GPIO_InitStructure);

    GPIO_SetBits(GPIOB, LED_ALL);
}

void LED_ON(enum LED_Color color)
{
    if(color == RED)
    {
        GPIO_ResetBits(GPIOB, LED_R);
    }
    else if(color == GREEN)
    {
        GPIO_ResetBits(GPIOB, LED_G);
    }
    else if(color == BLUE)
    {
        GPIO_ResetBits(GPIOB, LED_B);
    }
}

void LED_OFF(enum LED_Color color)
{
    if(color == RED)
    {
        GPIO_SetBits(GPIOB, LED_R);
    }
    else if(color == GREEN)
    {
        GPIO_SetBits(GPIOB, LED_G);
    }
    else if(color == BLUE)
    {
        GPIO_SetBits(GPIOB, LED_B);
    }
}
